package cn.bearspark.currency.provider.dao.mapper;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Update;

/**
 * 功德货币的数据映射接口
 *
 * @author f
 */
@Mapper
public interface MeritMapper {

    /**
     * 添加用户对应的功德数据
     *
     * @param userId 用户的 id
     */
    @Insert("INSERT INTO t_merit (user_id) VALUES (#{userId})")
    void insert(long userId);

    /**
     * 扣减指定用户的功德余额
     *
     * @param userId 指定的用户 id
     * @return 更新操作影响的行数
     */
    @Update("UPDATE t_merit SET balance = balance - 1 WHERE user_id = #{userId} AND balance > 0")
    int decrBalance(long userId);
}
